package xin.clips.system.domain.gy;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import xin.clips.common.annotation.Excel;
import xin.clips.common.core.domain.BaseEntity;

/**
 * 用户分享的文档对象 gy_user_share_doc
 *
 * @author clips
 * @date 2023-03-07
 */
public class GyUserShareDoc extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long shareId;

    /** 关联的文档id */
    @Excel(name = "关联的文档id")
    private String fileId;

    /** 文档密码 */
    @Excel(name = "文档密码")
    private String pwd;

    /** 文件名 */
    @Excel(name = "文件名")
    private String fileName;

    /** 分享人用户id */
    @Excel(name = "分享人用户id")
    private Long userId;

    /** 文件的扩展名 */
    @Excel(name = "文件的扩展名")
    private String fileExt;

    /** 排序 */
    @Excel(name = "排序")
    private Long orderByNo;

    /** 被分享人"，"号分割 */
    @Excel(name = "被分享人,号分割")
    private String recviveUserName;

    /** 失效设置：0：七天，1：三十天，2：永久 */
    @Excel(name = "失效设置：0：七天，1：三十天，2：永久")
    private Integer validState;

    /** 分享状态，0:被分享人取消分享,1:正常分享 */
    @Excel(name = "分享状态，0:被分享人取消分享,1:正常分享")
    private Integer recviveStatus;

    /** 分享的链接 */
    @Excel(name = "分享的链接")
    private String urlInfo;

    /** 生效时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "生效时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validTime;

    /** 用户名 */
    @Excel(name = "用户名")
    private String userName;
    private String validStr; //失效设置对应的名字描述

    public String getValidStr() {
        return validStr;
    }

    public void setValidStr(String validStr) {
        this.validStr = validStr;
    }

    public void setShareId(Long shareId)
    {
        this.shareId = shareId;
    }

    public Long getShareId()
    {
        return shareId;
    }
    public void setFileId(String fileId)
    {
        this.fileId = fileId;
    }

    public String getFileId()
    {
        return fileId;
    }
    public void setPwd(String pwd)
    {
        this.pwd = pwd;
    }

    public String getPwd()
    {
        return pwd;
    }
    public void setFileName(String fileName)
    {
        this.fileName = fileName;
    }

    public String getFileName()
    {
        return fileName;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setFileExt(String fileExt)
    {
        this.fileExt = fileExt;
    }

    public String getFileExt()
    {
        return fileExt;
    }
    public void setOrderByNo(Long orderByNo)
    {
        this.orderByNo = orderByNo;
    }

    public Long getOrderByNo()
    {
        return orderByNo;
    }
    public void setRecviveUserName(String recviveUserName)
    {
        this.recviveUserName = recviveUserName;
    }

    public String getRecviveUserName()
    {
        return recviveUserName;
    }
    public void setValidState(Integer validState)
    {
        this.validState = validState;
    }

    public Integer getValidState()
    {
        return validState;
    }
    public void setRecviveStatus(Integer recviveStatus)
    {
        this.recviveStatus = recviveStatus;
    }

    public Integer getRecviveStatus()
    {
        return recviveStatus;
    }
    public void setUrlInfo(String urlInfo)
    {
        this.urlInfo = urlInfo;
    }

    public String getUrlInfo()
    {
        return urlInfo;
    }
    public void setValidTime(Date validTime)
    {
        this.validTime = validTime;
    }

    public Date getValidTime()
    {
        return validTime;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("shareId", getShareId())
            .append("fileId", getFileId())
            .append("pwd", getPwd())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("fileName", getFileName())
            .append("userId", getUserId())
            .append("fileExt", getFileExt())
            .append("orderByNo", getOrderByNo())
            .append("recviveUserName", getRecviveUserName())
            .append("validState", getValidState())
            .append("recviveStatus", getRecviveStatus())
            .append("urlInfo", getUrlInfo())
            .append("validTime", getValidTime())
            .append("userName", getUserName())
            .toString();
    }
}
